//设备监控初始化
layui.use(['layer', 'datatable', 'datatableButton', 'datatableFlash', 'datatableHtml5', 'datatablePrint', 'datatableColVis', 'datatableSelect'], function() {
  var $ = layui.jquery,
    layer = layui.layer;
  // oSort是排序类型数组, 'chinese-asc'是自己定义的类型的排序(*-asc || *-desc)名称
  // 插件应该会根据表格中的内容的类型(string, number, chinese)进行比较排序，
  // 如果以chinese类型来排序则用oSort['chinese-asc']和oSort['chinese-desc']的方法
  // oSort对应的function里面自定义比较方法
  $.fn.dataTableExt.oSort['chinese-asc'] = function(x, y) {
    //javascript自带的中文比较函数，具体用法可自行查阅了解
    return x.localeCompare(y);
  };

  $.fn.dataTableExt.oSort['chinese-desc'] = function(x, y) {
    return y.localeCompare(x);
  };
  // aTypes是插件存放表格内容类型的数组
  // reg赋值的正则表达式，用来判断是否是中文字符
  // 返回值push到aTypes数组，排序时扫描该数组，'chinese'则调用上面两个方法。返回null默认是'string'
  $.fn.dataTableExt.aTypes.push(
    function(sData) {
      var reg = /^[\u4e00-\u9fa5]{0,}$/;
      if(reg.test(sData)) {
        return 'chinese';
      }
      return null;
    }
  );
  $(document).ready(function() {
    var myTable = $('#deviceTable').DataTable({
      "processing": false, //DataTables载入数据时，是否显示‘进度’提示
      "stateSave": true, //是否打开客户端状态记录功能,此功能在ajax刷新纪录的时候不会将个性化设定回复为初始化状态
      "scrollCollapse": true, //是否开启DataTables的高度自适应，当数据条数不够分页数据条数的时候，插件高度是否随数据条数而改变
      "paginationType": "full_numbers", //详细分页组，可以支持直接跳转到某页
      "language": lang, //提示信息
      "autoWidth": false, //自适应宽度，
      "lengthMenu": [15, 30, 50],
      "stripeClasses": ["odd", "even"], //为奇偶行加上样式，兼容不支持CSS伪类的场合
      "searching": false, //是否允许Datatables开启本地搜索
      "paging": true, //是否开启本地分页
      "lengthChange": false, //是否允许产品改变表格每页显示的记录数
      "info": true, //控制是否显示表格左下角的信息
      //跟数组下标一样，第一列从0开始，这里表格初始化时，第四列默认降序
      "order": [], //asc升序   desc降序
      "aoColumnDefs": [{
        "orderable": false,
        "aTargets": [0,1,2,3,4,5,6,7] // 指定列不参与排序
      }],
      "deferRender": true, //延迟渲染
      "ajax": {
      	url : url + '/ic-iot/admin/'+adminId+'/devicesWithRecords',//users
				type : 'get',
				data:{
					"currentPage":1,
					"pageSize":999,
				},
				dataType : 'json',
				beforeSend: function(request) {
            request.setRequestHeader("accessToken", accessToken);
        },
				success : function(data) {
					if(data['code'] == 1){
						$('#deviceTable').dataTable().fnAddData(data.result);
					}else{
						ifajax(data);
					}
				}
      }, //数据的路径 "http://192.168.5.133:8081/ic-iot/admin/1/devices" /"json/device.json"
      "columns": [{ //定义列
        "data":"riwso",
        "render":function(data, type, full, meta ){
        	return (meta.row+1);
        },
        "sTitle": "序号", //标题
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
      },{
        "data": function(obj){
        	var sceneId = getOption("sceneId",obj.sceneId);
        	 return '['+sceneId+']'+obj.deviceName;
        },
        "sTitle": "设备名称", //标题
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错
      }, {
        "data": function(obj) {
          return getOption("deviceType",obj.deviceType);
        },
        "sTitle": "设备类型", //标题
        "sType": 'chinese',
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错
      }, {
        "data": "monitorPosition",
        "sTitle": "监测点", //标题
        "sType": 'chinese',
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错
      }, {
        "data":  function(obj) {
          return getOption("deviceStateColor",obj.deviceState);
        },
        "sTitle": "设备状态", //标题
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错
      }, {
        "data": function(obj) {
          var dataStr="";
          if(obj.temCh1){
            dataStr+=obj.temCh1+'℃ ';
          }
          if(obj.humCh1){
            dataStr+=obj.humCh1+'% ';
          }
          dataStr+="| ";
          if(obj.temCh2){
            dataStr+=obj.temCh2+'℃ ';
          }
          if(obj.humCh2){
            dataStr+=obj.humCh2+'% ';
          }
          return dataStr;
        },
        "sTitle": "温湿度", //标题
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错
      }, {
        "data": function(obj) {
          var timeStr="";
          if(obj.lastRecord)
            timeStr= replaceTime(obj.lastRecord / 1000);
          return timeStr;
        },
        "sTitle": "更新时间", //标题
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错
      }, {
        "data": function(obj) {
          return '<span title="查看" class="handle-btn handle-btn-check"  data='+obj.deviceId+'><i class="layui-icon" style="color:#5ebdc7;">&#xe615;';
        },
        "className": "td-handle",
        "sTitle": "操作", //标题
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错
      }]
    });
    /**
     * 添加falsh
     */
    $.fn.dataTable.Buttons.swfPath = "js/dataTables/extensions/Buttons/swf/flashExport.swf";
    $.fn.dataTable.Buttons.defaults.dom.container.className = 'tableTools-box';
    /**
     * 操作栏
     */

    //console.log(myTable);
    myTable.buttons().container().appendTo($('.tableTools'));

  });
  /*设备-查看*/
 $('.table-sort').on('click', '.handle-btn-check', function() {
			//var username = $(this).html();
			var obj = $(this);
      var deviceId = $(this).attr("data");
			var username = '查看设备';
    	var href = 'device_detail_tabs.html?deviceId='+deviceId;
    	var index = layer.open({
	    	type:2,
	    	title:username,
	    	fixed:false,
	    	maxmin:false,
	    	area:['100%','100%'],
	    	content:href,
    	});	
    	layer.full(index);
});
$(".btn_block > label").click(function(){
		$(this).siblings().removeClass("layui-btn-block").addClass("layui-btn-none");
		$(this).addClass("layui-btn-block");
});
});




